package com.leen.admin.dto;

import com.alibaba.fastjson.annotation.JSONField;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;

import javax.persistence.Column;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import java.util.Date;
import java.util.List;

/**
 * 菜单组装类说明
 *
 * @author admin
 * @date 2021-05-21
 */
@Data
public class MenuDTO {

    /**
     * 菜单ID
     */
    private Integer menuId;

    /**
     * 菜单名称
     */
    private String menuName;

    /**
     * 父菜单ID
     */
    private Integer parentId;

    /**
     * 显示顺序
     */
    private Integer orderNum;

    /**
     * 路由地址
     */
    private String icon;
    /**
     * 路由地址
     */
    private String path;

    /**
     * 组件路径
     */
    private String component;

    /**
     * 组件名称
     */
    private String componentName;

    /**
     * 是否为外链（0是 1否）
     */
    private Integer frame;

    /**
     * 菜单类型（M目录 C菜单 F按钮）
     */
    private String menuType;

    /** 缓存 */
    private Boolean cache;


    /**
     * 菜单状态（0显示 1隐藏）
     */
    private Boolean hidden;

    /**
     * 菜单状态（0正常 1停用）
     */
    private Boolean status;

    /**
     * 权限标识
     */
    private String perms;


    /**
     * 创建者
     */
    private String createBy;

    /**
     * 创建时间
     */
    @JSONField(format = "yyyy-MM-dd HH:mm:ss")
    private Date createTime;

    /**
     * 更新者
     */
    private String updateBy;

    /**
     * 更新时间
     */
    @JSONField(format = "yyyy-MM-dd HH:mm:ss")
    private Date updateTime;

    /**
     * 子节点
     */
    private List<MenuDTO> children;
}
